0065. 有效数字【困难】
1. 📝 题目描述
给定一个字符串 s,返回 s 是否是一个 有效数字。
例如,下面的都是有效数字:"2", "0089", "-0.1", "+3.14", "4.", "-.9", "2e10", "-90E3", "3e+7", "+6e-1", "53.5e93", "-123.456e789",而接下来的不是:"abc", "1a", "1e", "e3", "99e2.5", "--6", "-+3", "95a54e53"。
一般的,一个有效数字可以用以下的规则之一定义:
- 一个整数后面跟着一个可选指数。
- 一个十进制数后面跟着一个可选指数。
一个整数定义为一个可选符号 '-' 或 '+' 后面跟着数字。
一个十进制数定义为一个可选符号'-' 或 '+' 后面跟着下述规则:
- 数字后跟着一个小数点
.。 - 数字后跟着一个小数点
.再跟着数位。 - 一个小数点
.后跟着数位。
指数定义为指数符号 'e' 或 'E',后面跟着一个整数。
数字定义为一个或多个数位。
示例 1:
txt
输入:s = "0"
输出:true1
2
2
示例 2:
txt
输入:s = "e"
输出:false1
2
2
示例 3:
txt
输入:s = "."
输出:false1
2
2
提示:
1 <= s.length <= 20s仅含英文字母(大写和小写),数字(0-9),加号'+',减号'-',或者点'.'。
2. 🎯 s.1 - 暴力解法
js
// todo1
- 时间复杂度:
- 空间复杂度: